package com.ruoyi.yljf.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.yljf.domain.Comment;
import com.ruoyi.yljf.domain.dto.CommentAddDTO;
import com.ruoyi.yljf.domain.dto.CommentDTO;
import com.ruoyi.yljf.domain.vo.CommentReplyListVO;
import com.ruoyi.yljf.domain.vo.CourseCommentVO;
import com.ruoyi.yljf.domain.vo.QuestionVO;
import com.ruoyi.yljf.domain.vo.RedMoreVO;

import javax.servlet.http.HttpServletRequest;

/**
 * 评论管理Service接口
 * 
 * @author metaee
 * @date 2025-02-14
 */
public interface ICommentService extends IService<Comment> {
    /**
     * 查询评论管理列表
     * 
     * @param comment 评论管理
     * @return 评论管理集合
     */
    public List<Comment> selectCommentList(Comment comment);

    /**
     * 查询所有回复我的消息列表
     * @return
     */
    List<CommentReplyListVO> replyList(List<Comment> list);
    

    /**
     * 新增评论
     * @param request
     * @return
     */
    Integer commentAdd(CommentAddDTO request);

    List<CommentReplyListVO> queryAsk(List<Comment> list);

    /**查询一级评论列表 */
    List<Comment> queryList(CommentDTO dto);

    /** 根据parentId查询二级评论列表 */
    List<Comment> selectByParentId(Long commentId);

    List<CourseCommentVO> courseReplyList(List<Comment> listo, HttpServletRequest request);

    List<RedMoreVO> readMore(List<Comment> list);

    AjaxResult like(Long commentId, HttpServletRequest req);

    List<Comment> selectCount(Long userId, String type);

    List<Comment> selectQuestionCount(Long userId, String question);
}
